package com.gxitsky.plugin;

import java.util.Arrays;

/**
 * @author gxing
 * @desc 接口
 * @date 2021/12/31
 */
public interface IFunction {
    /**
     * 函数名称
     **/
    String getName();

    /**
     * 函数描述
     **/
    String getDesc();

    /**
     * 函数运行异常时返回默认值
     **/
    Object getDefVal();

    /**
     * 调用函数
     **/
    Object process(Object... args) throws Exception;

    /**
     * 检查入参是否为空
     **/
    default boolean checkArgsIsEmpty(Object... args) {
        System.out.println(">> args=" + Arrays.toString(args));
        return args == null || args.length == 0;
    }
}
